#include <stdio.h>

#define N 10

int yh_triangle(int, int);

/**
 * 题目：打印出杨辉三角形（要求打印出10行）。
 * 程序分析：
 *  结构如下所示：
 *      1
 *      1    1
 *      1    2    1
 *      1    3    3    1
 *      1    4    6    4    1
*/
int main(int argc, char const *argv[])
{
    int i, j;
    int n;
    for(i = 1; i <= N; i++)
    {
        for(j = 1; j <= i; j++)
        {
            n = yh_triangle(j, i);
            printf("%d\t", n);
        }
        printf("\n");
    }
    
    return 0;
}

int yh_triangle(int i, int n)
{
    if(i == 1 || i == n)
        return 1;
    
    return yh_triangle(i - 1, n - 1) + yh_triangle(i, n - 1);
}